From 2f45e4aed1a2d686672702fe76cee2b8f6ef40d0 Mon Sep 17 00:00:00 2001 From: "dan@guaranine.beaverton.ibm.com" Date: Fri, 18 Nov 2005 13:02:01 +0100 Subject: [PATCH] Added a test to verify that devices come and go from block-list as they are block-attach'd and block-detach'd. --- .../06_block-list_checkremove_pos.py | 66 +++++++++++++++++++ tools/xm-test/tests/block-list/Makefile.am | 3 +- 2 files changed, 68 insertions(+), 1 deletion(-) create mode 100644 tools/xm-test/tests/block-list/06_block-list_checkremove_pos.py diff --git a/tools/xm-test/tests/block-list/06_block-list_checkremove_pos.py b/tools/xm-test/tests/block-list/06_block-list_checkremove_pos.py new file mode 100644 index 0000000000..14956fc5c4 --- /dev/null +++ b/tools/xm-test/tests/block-list/06_block-list_checkremove_pos.py @@ -0,0 +1,66 @@ +#!/usr/bin/python + +# Copyright (C) International Business Machines Corp., 2005 +# Author: Dan Smith + +from XmTestLib import * + +domain = XmTestDomain() + +try: + domain.start() +except DomainError, e: + FAIL(str(e)) + +try: + console = XmConsole(domain.getName()) +except ConsoleError, e: + FAIL(str(e)) + +s, o = traceCommand("xm block-list %s" % domain.getName()) +if s != 0: + FAIL("block-list returned !0 when no devices attached") +if o: + FAIL("block-list without devices reported something!") + +s, o = traceCommand("xm block-attach %s phy:/dev/ram0 hda1 w" % domain.getName()) +if s != 0: + FAIL("Unable to attach /dev/ram0->hda1") + +s, o = traceCommand("xm block-list %s" % domain.getName()) +if s != 0: + FAIL("block-list failed") +if not o.find("769"): + FAIL("block-list didn't show the block device I just attached!") + +s, o = traceCommand("xm block-attach %s phy:/dev/ram1 hda2 w" % domain.getName()) +if s != 0: + FAIL("Unable to attach /dev/ram1->hda2") + +s, o = traceCommand("xm block-list %s" % domain.getName()) +if s != 0: + FAIL("block-list failed") +if not o.find("770"): + FAIL("block-list didn't show the other block device I just attached!") + +s, o = traceCommand("xm block-detach %s 769" % domain.getName()) +if s != 0: + FAIL("block-destroy of hda1 failed") + +s, o = traceCommand("xm block-list %s" % domain.getName()) +if s != 0: + FAIL("block-list failed after detaching a device") +if o.find("769"): + FAIL("hda1 still shown in block-list after detach!") +if not o.find("770"): + FAIL("hda2 not shown after detach of hda1!") + +s, o = traceCommand("xm block-detach %s 770" % domain.getName()) +if s != 0: + FAIL("block-list failed after detaching another device") +if o.find("770"): + FAIL("hda2 still shown in block-list after detach!") +if o: + FAIL("block-list still shows something after all devices detached!") + + diff --git a/tools/xm-test/tests/block-list/Makefile.am b/tools/xm-test/tests/block-list/Makefile.am index 9bf8be6fb0..9e303af6f8 100644 --- a/tools/xm-test/tests/block-list/Makefile.am +++ b/tools/xm-test/tests/block-list/Makefile.am @@ -5,7 +5,8 @@ TESTS = 01_block-list_pos.test \ 02_block-list_attachbd_pos.test \ 03_block-list_anotherbd_pos.test \ 04_block-list_nodb_pos.test \ - 05_block-list_nonexist_neg.test + 05_block-list_nonexist_neg.test \ + 06_block-list_checkremove_pos.test XFAIL_TESTS = -- 2.30.2